package cn.jiguang.jgdemo;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.ViewCompat;

import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        TextView textView1 = findViewById(R.id.text1);
        TextView textView2 = findViewById(R.id.text2);
        TextView textView3 = findViewById(R.id.text3);
        TextView textView4 = findViewById(R.id.text4);
        TextView listExampleText = findViewById(R.id.list_example_text);
        TextView gridExampleText = findViewById(R.id.grid_example_text);
        TextView recycleExampleText = findViewById(R.id.recycle_example_text);
        TextView pagerExampleText = findViewById(R.id.view_page_example_text);


//        ShadowDrawable.setShadowDrawable(textView1, Color.parseColor("#2979FF"), dpToPx(8),
//                Color.parseColor("#992979FF"), dpToPx(6), 0, 0);


        // 很多缺陷，必须是透明色才能实现。  #65c294
        ShadowDrawable.setShadowDrawable(textView1,Color.parseColor("#65c294"), dpToPx(20),
                Color.parseColor("#99130c0e"), dpToPx(20),dpToPx(3), dpToPx(3));

        // todo 第二个参数是 颜色值，这里有个问题是这个颜色值一定要带数字的才能显示阴影效果。
        // todo 第三个参数是 圆角   #997C4DFF
        // todo 第四个参数是阴影的颜色 但是好像是要渐变色才能实现。
        // todo 第5个参数是阴影的半径，这个阴影实际上是这个view的一部分，阴影的半径越大，占比越多。
        // todo 第6，7个参数是阴影的偏移量
        ShadowDrawable.setShadowDrawable(textView2, new int[] {Color.parseColor("#536DFE"), Color.parseColor("#7C4DFF")}, dpToPx(20),
                Color.parseColor("#99130c0e"), dpToPx(10), dpToPx(3), dpToPx(3));

        ShadowDrawable.setShadowDrawable(textView3, ShadowDrawable.SHAPE_CIRCLE, Color.parseColor("#2979FF"),
                0, Color.parseColor("#aa536DFE"), dpToPx(10), 0, 0);


        ShadowDrawable.setShadowDrawable(textView4, ShadowDrawable.SHAPE_CIRCLE, Color.parseColor("#7C4DFF"),
                dpToPx(8), Color.parseColor("#992979FF"), dpToPx(6), dpToPx(3), dpToPx(3));


    }


    public static void setShadowDrawable(View view, int shapeRadius, int shadowColor, int shadowRadius, int offsetX, int offsetY) {
        ShadowDrawable drawable = new ShadowDrawable.Builder()
                .setShapeRadius(shapeRadius)
                .setShadowColor(shadowColor)
                .setShadowRadius(shadowRadius)
                .setOffsetX(offsetX)
                .setOffsetY(offsetY)
                .builder();
        view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        ViewCompat.setBackground(view, drawable);
    }


    private int dpToPx(int dp) {
        return (int) (Resources.getSystem().getDisplayMetrics().density * dp + 0.5f);
    }
}